package com.hzhc.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzhc.dto.BaseDto;
import com.hzhc.entity.TrainPlanDetail;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author dongcy
 * @date 2024/5/29 14:07
 * @description TrainPlanVo
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TrainPlanVo extends BaseDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 班列名称
     */
    private String trainPlanName;

    /**
     * 装卸类型(zc:装  xc:卸)
     */
    private String type;

    /**
     * 始发站
     */
    private String beginStation;

    /**
     * 终点站
     */
    private String endStation;

    private Long userId;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    private Long updateUserId;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    private Integer disable;

    /**
     * 计划装/卸时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime planWorkTime;

    private Integer loadZl;//是否发送装车指令

    private String trainPlanNo;//计划号、班列号

    private Integer status;//完工状态(默认0   10：已完工)

//  判别装车卸车
    private String planTypeName;

    private Integer code;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate planTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime finishTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate groupTime;


    private Integer ck20;
    private Integer ck40;
    private Integer ck45;
    private Integer teu;
    private Integer hjzrx;
    private Integer hjTeu;

    /**
     * 发运箱数(TEU)
     */
    private Integer cntrFyTotal;
    /**
     * 到达箱数(TEU)
     */
    private Integer cntrDdTotal;
    /**
     * 已理货箱数(TEU)
     */
    private Integer cntrLhTotal;
    /**
     * 发运货运量(吨)
     */
    private Integer weightTotal;

    /**
     * 装箱数
     */
    private Integer cntrNum;

    private String area;//堆存区域

    private List<TrainPlanDetail> detailList;

    private List<CompanyInfoVo> selCompanyList;

    /**
     * 手机号
     */
    private String telephone;

    private Integer strands;//股道

    private Integer teu2;//40尺个数

    private String cntrNo;
}
